#
# Standard e2fsprogs prologue....
#

srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
top_builddir = ..
my_dir = misc
INSTALL = @INSTALL@
MKDIR_P = @MKDIR_P@

@MCONFIG@

@DEFRAG_CMT@@LINUX_CMT@E4DEFRAG_PROG= e4defrag
@DEFRAG_CMT@@LINUX_CMT@E4DEFRAG_MAN= e4defrag.8

@LINUX_CMT@E4CRYPT_PROG = e4crypt
@LINUX_CMT@E4CRYPT_MAN= e4crypt.8

@IMAGER_CMT@E2IMAGE_PROG= e2image
@IMAGER_CMT@E2IMAGE_STATIC= e2image.static
@IMAGER_CMT@E2IMAGE_MAN= e2image.8

@UUIDD_CMT@UUIDD_PROG= uuidd
@UUIDD_CMT@UUIDD_STATIC= uuidd.static
@UUIDD_CMT@UUIDD_MAN= uuidd.8
@UUIDD_CMT@UUIDD_PROFILED= uuidd.profiled

@BLKID_CMT@BLKID_PROG= blkid
@BLKID_CMT@BLKID_STATIC= blkid.static
@BLKID_CMT@BLKID_MAN= blkid.8

@BLKID_CMT@FINDFS_LINK= findfs
@BLKID_CMT@FINDFS_MAN= findfs.8

@FUSE_CMT@FUSE_PROG= fuse2fs

SPROGS=		mke2fs badblocks tune2fs dumpe2fs $(BLKID_PROG) logsave \
			$(E2IMAGE_PROG) @FSCK_PROG@ e2undo
USPROGS=	mklost+found filefrag e2freefrag $(UUIDD_PROG) \
			$(E4DEFRAG_PROG) $(E4CRYPT_PROG)
SMANPAGES=	tune2fs.8 mklost+found.8 mke2fs.8 dumpe2fs.8 badblocks.8 \
			e2label.8 $(FINDFS_MAN) $(BLKID_MAN) $(E2IMAGE_MAN) \
			logsave.8 filefrag.8 e2freefrag.8 e2undo.8 \
			$(UUIDD_MAN) $(E4DEFRAG_MAN) $(E4CRYPT_MAN) @FSCK_MAN@ \
			e2mmpstatus.8
FMANPAGES=	mke2fs.conf.5 ext4.5

UPROGS=		chattr lsattr $(FUSE_PROG) @UUID_CMT@ uuidgen
UMANPAGES=	chattr.1 lsattr.1 @UUID_CMT@ uuidgen.1
UMANPAGES+=	@FUSE_CMT@ fuse2fs.1

LPROGS=		@E2INITRD_PROG@

TUNE2FS_OBJS=	tune2fs.o util.o journal.o recovery.o revoke.o
MKLPF_OBJS=	mklost+found.o
MKE2FS_OBJS=	mke2fs.o util.o default_profile.o mk_hugefiles.o \
			create_inode.o
CHATTR_OBJS=	chattr.o
LSATTR_OBJS=	lsattr.o
UUIDGEN_OBJS=	uuidgen.o
UUIDD_OBJS=	uuidd.o
DUMPE2FS_OBJS=	dumpe2fs.o
BADBLOCKS_OBJS=	badblocks.o
E2IMAGE_OBJS=	e2image.o
FSCK_OBJS=	fsck.o base_device.o ismounted.o
BLKID_OBJS=	blkid.o
FILEFRAG_OBJS=	filefrag.o
E2UNDO_OBJS=  e2undo.o
E4DEFRAG_OBJS=	e4defrag.o
E4CRYPT_OBJS=   e4crypt.o
E2FREEFRAG_OBJS= e2freefrag.o
E2FUZZ_OBJS=	e2fuzz.o
FUSE2FS_OBJS=	fuse2fs.o journal.o recovery.o revoke.o

PROFILED_TUNE2FS_OBJS=	profiled/tune2fs.o profiled/util.o profiled/journal.o \
				profiled/recovery.o profiled/revoke.o
PROFILED_MKLPF_OBJS=	profiled/mklost+found.o
PROFILED_MKE2FS_OBJS=	profiled/mke2fs.o profiled/util.o \
				profiled/default_profile.o \
				profiled/mk_hugefiles.o \
				profiled/create_inode.o
PROFILED_CHATTR_OBJS=	profiled/chattr.o
PROFILED_LSATTR_OBJS=	profiled/lsattr.o
PROFILED_UUIDGEN_OBJS=	profiled/uuidgen.o
PROFILED_UUIDD_OBJS=	profiled/uuidd.o
PROFILED_DUMPE2FS_OBJS=	profiled/dumpe2fs.o
PROFILED_BADBLOCKS_OBJS=	profiled/badblocks.o
PROFILED_E2IMAGE_OBJS=	profiled/e2image.o
PROFILED_FSCK_OBJS=	profiled/fsck.o profiled/base_device.o \
			profiled/ismounted.o
PROFILED_BLKID_OBJS=	profiled/blkid.o
PROFILED_FILEFRAG_OBJS=	profiled/filefrag.o
PROFILED_E2FREEFRAG_OBJS= profiled/e2freefrag.o
PROFILED_E2UNDO_OBJS=	profiled/e2undo.o
PROFILED_E4DEFRAG_OBJS=	profiled/e4defrag.o
PROFILED_E4CRYPT_OBJS=	profiled/e4crypt.o
PROFILED_FUSE2FS_OJBS=	profiled/fuse2fs.o profiled/journal.o \
			profiled/recovery.o profiled/revoke.o

SRCS=	$(srcdir)/tune2fs.c $(srcdir)/mklost+found.c $(srcdir)/mke2fs.c $(srcdir)/mk_hugefiles.c \
		$(srcdir)/chattr.c $(srcdir)/lsattr.c $(srcdir)/dumpe2fs.c \
		$(srcdir)/badblocks.c $(srcdir)/fsck.c $(srcdir)/util.c \
		$(srcdir)/uuidgen.c $(srcdir)/blkid.c $(srcdir)/logsave.c \
		$(srcdir)/filefrag.c $(srcdir)/base_device.c \
		$(srcdir)/ismounted.c $(srcdir)/e2undo.c \
		$(srcdir)/e2freefrag.c $(srcdir)/create_inode.c \
		$(srcdir)/fuse2fs.c $(srcdir)/e2fuzz.c \
		$(srcdir)/check_fuzzer.c \
		$(srcdir)/../debugfs/journal.c $(srcdir)/../e2fsck/revoke.c \
		$(srcdir)/../e2fsck/recovery.c

LIBS= $(LIBEXT2FS) $(LIBCOM_ERR) $(LIBSUPPORT)
DEPLIBS= $(LIBEXT2FS) $(DEPLIBCOM_ERR) $(DEPLIBSUPPORT)
PROFILED_LIBS= $(LIBSUPPORT) $(PROFILED_LIBEXT2FS) $(PROFILED_LIBCOM_ERR)
PROFILED_DEPLIBS= $(DEPLIBSUPPORT) $(PROFILED_LIBEXT2FS) $(DEPPROFILED_LIBCOM_ERR)

STATIC_LIBS= $(LIBSUPPORT) $(STATIC_LIBEXT2FS) $(STATIC_LIBCOM_ERR)
STATIC_DEPLIBS= $(DEPLIBSUPPORT) $(STATIC_LIBEXT2FS) $(DEPSTATIC_LIBCOM_ERR)

LIBS_E2P= $(LIBE2P) $(LIBCOM_ERR)
DEPLIBS_E2P= $(LIBE2P) $(DEPLIBCOM_ERR)

COMPILE_ET=	_ET_DIR_OVERRIDE=$(srcdir)/../lib/et/et ../lib/et/compile_et

# This nastiness is needed because of jfs_user.h hackery; when we finally
# clean up this mess, we should be able to drop it
JOURNAL_CFLAGS = -I$(srcdir)/../e2fsck $(ALL_CFLAGS) -DDEBUGFS
DEPEND_CFLAGS = -I$(top_srcdir)/e2fsck

.c.o:
	$(E) "	CC $<"
	$(Q) $(CC) -c $(ALL_CFLAGS) $< -o $@
	$(Q) $(CHECK_CMD) $(ALL_CFLAGS) $<
	$(Q) $(CPPCHECK_CMD) $(CPPFLAGS) $<
@PROFILE_CMT@	$(Q) $(CC) $(ALL_CFLAGS) -g -pg -o profiled/$*.o -c $<

all:: profiled $(SPROGS) $(UPROGS) $(USPROGS) $(SMANPAGES) $(UMANPAGES) \
	$(FMANPAGES) $(LPROGS) $(E4DEFRAG_PROG) $(E4CRYPT_PROGS) e2fuzz

all-static:: $(E2IMAGE_STATIC) $(UUIDD_STATIC) $(BLKID_STATIC) \
	dumpe2fs.static mke2fs.static tune2fs.static lsattr.static chattr.static

@PROFILE_CMT@all:: tune2fs.profiled blkid.profiled e2image.profiled \
	e2undo.profiled mke2fs.profiled dumpe2fs.profiled fsck.profiled \
	logsave.profiled filefrag.profiled uuidgen.profiled $(UUIDD_PROFILED) \
	e2image.profiled e4defrag.profiled e4crypt.profiled \
	e2freefrag.profiled

profiled:
@PROFILE_CMT@	$(E) "	MKDIR $@"
@PROFILE_CMT@	$(Q) mkdir profiled

mke2fs.conf: $(srcdir)/mke2fs.conf.in
	if test -f $(srcdir)/mke2fs.conf.custom.in ; then \
		cp $(srcdir)/mke2fs.conf.custom.in mke2fs.conf; \
	else \
		cp $(srcdir)/mke2fs.conf.in mke2fs.conf; \
	fi

default_profile.c: mke2fs.conf $(srcdir)/profile-to-c.awk
	$(E) "	PROFILE_TO_C mke2fs.conf"
	$(Q) $(AWK) -f $(srcdir)/profile-to-c.awk < mke2fs.conf \
		>  default_profile.c
findsuper: findsuper.o
	$(E) "	LD $@"
	$(Q) $(CC) $(ALL_LDFLAGS) -o findsuper findsuper.o $(LIBS) $(SYSLIBS)

partinfo: partinfo.o $(DEPLIBCOM_ERR)
	$(E) "	LD $@"
	$(Q) $(CC) $(ALL_LDFLAGS) -o partinfo partinfo.o $(LIBCOM_ERR)

e2initrd_helper: e2initrd_helper.o $(DEPLIBS) $(DEPLIBBLKID) $(LIBEXT2FS)
	$(E) "	LD $@"
	$(Q) $(CC) $(ALL_LDFLAGS) -o e2initrd_helper e2initrd_helper.o $(LIBS) \
		$(LIBBLKID) $(LIBEXT2FS) $(LIBINTL) $(SYSLIBS)

tune2fs: $(TUNE2FS_OBJS) $(DEPLIBS) $(DEPLIBS_E2P) $(DEPLIBBLKID) \
		$(DEPLIBUUID) $(LIBEXT2FS)
	$(E) "	LD $@"
	$(Q) $(CC) $(ALL_LDFLAGS) -o tune2fs $(TUNE2FS_OBJS) $(LIBS) \
		$(LIBBLKID) $(LIBUUID) $(LIBEXT2FS) $(LIBS_E2P) \
		$(LIBINTL) $(SYSLIBS) $(LIBBLKID) $(LIBMAGIC)

tune2fs.static: $(TUNE2FS_OBJS) $(STATIC_DEPLIBS) $(STATIC_LIBE2P) $(DEPSTATIC_LIBBLKID)
	$(E) "	LD $@"
	$(Q) $(CC) $(LDFLAGS_STATIC) -o tune2fs.static $(TUNE2FS_OBJS) \
		$(STATIC_LIBS) $(STATIC_LIBBLKID) $(STATIC_LIBUUID) \
		$(STATIC_LIBE2P) $(LIBINTL) $(SYSLIBS) \
		$(STATIC_LIBBLKID) $(LIBMAGIC)

tune2fs.profiled: $(TUNE2FS_OBJS) $(PROFILED_DEPLIBS) \
		$(PROFILED_E2P) $(DEPPROFILED_LIBBLKID) $(DEPPROFILED_LIBUUID)
	$(E) "	LD $@"
	$(Q) $(CC) $(ALL_LDFLAGS) -g -pg -o tune2fs.profiled \
		$(PROFILED_TUNE2FS_OBJS) $(PROFILED_LIBS) \
		$(PROFILED_LIBBLKID) $(PROFILED_LIBUUID) $(PROFILED_LIBE2P) \
		$(LIBINTL) $(SYSLIBS) $(PROFILED_LIBUUID) $(LIBMAGIC)

blkid: $(BLKID_OBJS) $(DEPLIBBLKID) $(LIBEXT2FS)
	$(E) "	LD $@"
	$(Q) $(CC) $(ALL_LDFLAGS) -o blkid $(BLKID_OBJS) $(LIBBLKID) $(LIBINTL) \
		$(LIBEXT2FS) $(SYSLIBS)

blkid.static: $(BLKID_OBJS) $(STATIC_DEPLIBS) $(DEPSTATIC_LIBBLKID)
	$(E) "	LD $@"
	$(Q) $(CC) $(ALL_LDFLAGS) -o blkid.static $(BLKID_OBJS) $(STATIC_LIBS) \
		$(STATIC_LIBBLKID) $(LIBINTL) $(SYSLIBS)

blkid.profiled: $(BLKID_OBJS) $(DEPPROFILED_LIBBLKID) \
		$(PROFILED_LIBEXT2FS)
	$(E) "	LD $@"
	$(Q) $(CC) $(ALL_LDFLAGS) -g -pg -o blkid.profiled $(PROFILED_BLKID_OBJS) \
		$(PROFILED_LIBBLKID) $(LIBINTL) $(PROFILED_LIBEXT2FS) $(SYSLIBS)

e2image: $(E2IMAGE_OBJS) $(DEPLIBS) $(DEPLIBBLKID)
	$(E) "	LD $@"
	$(Q) $(CC) $(ALL_LDFLAGS) -o e2image $(E2IMAGE_OBJS) $(LIBS) \
		$(LIBINTL) $(SYSLIBS) $(LIBBLKID) $(LIBMAGIC)

e2image.profiled: $(E2IMAGE_OBJS) $(PROFILED_DEPLIBS) $(DEPLIBBLKID)
	$(E) "	LD $@"
	$(Q) $(CC) $(ALL_LDFLAGS) -g -pg -o e2image.profiled \
		$(PROFILED_E2IMAGE_OBJS) $(PROFILED_LIBS) $(LIBINTL) $(SYSLIBS) \
		$(LIBBLKID) $(LIBMAGIC)

e2image.static: $(E2IMAGE_OBJS) $(PROFILED_DEPLIBS) $(DEPLIBBLKID)
	$(E) "	LD $@"
	$(Q) $(CC) $(LDFLAGS_STATIC) -g -pg -o e2image.static \
		$(E2IMAGE_OBJS) $(STATIC_LIBS) $(LIBINTL) $(SYSLIBS) \
		$(STATIC_LIBBLKID) $(LIBMAGIC)

e2undo: $(E2UNDO_OBJS) $(DEPLIBS)
	$(E) "	LD $@"
	$(Q) $(CC) $(ALL_LDFLAGS) -o e2undo $(E2UNDO_OBJS) $(LIBS) \
		$(LIBINTL) $(SYSLIBS)

e2undo.profiled: $(E2UNDO_OBJS) $(PROFILED_DEPLIBS)
	$(E) "	LD $@"
	$(Q) $(CC) $(ALL_LDFLAGS) -g -pg -o e2undo.profiled \
		$(PROFILED_E2UNDO_OBJS) $(PROFILED_LIBS) $(LIBINTL) $(SYSLIBS)

e4defrag: $(E4DEFRAG_OBJS) $(DEPLIBS)
	$(E) "	LD $@"
	$(Q) $(CC) $(ALL_LDFLAGS) -o e4defrag $(E4DEFRAG_OBJS) $(LIBS) \
		$(SYSLIBS)

e4crypt: $(E4CRYPT_OBJS) $(DEPLIBS) $(DEPSTATIC_LIBUUID)
	$(E) "	LD $@"
	$(Q) $(CC) $(ALL_LDFLAGS) -o e4crypt $(E4CRYPT_OBJS) \
		$(LIBUUID) $(LIBS) $(SYSLIBS)

e4defrag.profiled: $(E4DEFRAG_OBJS) $(PROFILED_DEPLIBS)
	$(E) "	LD $@"
	$(Q) $(CC) $(ALL_LDFLAGS) -g -pg -o e4defrag.profiled \
		$(PROFILED_E4DEFRAG_OBJS) $(PROFILED_LIBS) $(SYSLIBS)

e4crypt.profiled: $(E4CRYPT_OBJS) $(DEPPROFILED_LIBUUID) $(PROFILED_DEPLIBS)
	$(E) "	LD $@"
	$(Q) $(CC) $(ALL_LDFLAGS) -g -pg -o e4crypt.profiled \
		$(PROFILED_E4CRYPT_OBJS) $(PROFILED_LIBUUID) $(PROFILED_LIBS) \
		$(SYSLIBS)

base_device: base_device.c
	$(E) "	LD $@"
	$(Q) $(CC) $(ALL_CFLAGS) $(ALL_LDFLAGS) $(srcdir)/base_device.c \
		-DDEBUG -o base_device $(SYSLIBS)

fullcheck check:: base_device
	./base_device < $(srcdir)/base_device.tst > base_device.out
	cmp $(srcdir)/base_device.tst base_device.out

mklost+found: $(MKLPF_OBJS)
	$(E) "	LD $@"
	$(Q) $(CC) $(ALL_LDFLAGS) -o mklost+found $(MKLPF_OBJS) \
		$(LIBINTL) $(SYSLIBS)

mke2fs: $(MKE2FS_OBJS) $(DEPLIBS) $(LIBE2P) $(DEPLIBBLKID) $(DEPLIBUUID) \
		$(LIBEXT2FS)
	$(E) "	LD $@"
	$(Q) $(CC) $(ALL_LDFLAGS) -o mke2fs $(MKE2FS_OBJS) $(LIBS) $(LIBBLKID) \
		$(LIBUUID) $(LIBEXT2FS) $(LIBE2P) $(LIBINTL) \
		$(SYSLIBS) $(LIBMAGIC)

mke2fs.static: $(MKE2FS_OBJS) $(STATIC_DEPLIBS) $(STATIC_LIBE2P) $(DEPSTATIC_LIBUUID) \
		$(DEPSTATIC_LIBBLKID)
	$(E) "	LD $@"
	$(Q) $(CC) $(LDFLAGS_STATIC) -o mke2fs.static $(MKE2FS_OBJS) \
		$(STATIC_LIBS) $(STATIC_LIBE2P) \
		$(STATIC_LIBBLKID) $(STATIC_LIBUUID) $(LIBINTL) $(SYSLIBS) \
		$(LIBMAGIC)

mke2fs.profiled: $(MKE2FS_OBJS) $(PROFILED_DEPLIBS) \
	$(PROFILED_LIBE2P) $(PROFILED_DEPLIBBLKID) $(PROFILED_DEPLIBUUID)
	$(E) "	LD $@"
	$(Q) $(CC) $(ALL_LDFLAGS) -g -pg -o mke2fs.profiled \
		$(PROFILED_MKE2FS_OBJS) $(PROFILED_LIBBLKID) \
		$(PROFILED_LIBUUID) $(PROFILED_LIBE2P) \
		$(LIBINTL) $(PROFILED_LIBS) $(SYSLIBS) $(LIBMAGIC)

chattr: $(CHATTR_OBJS) $(DEPLIBS_E2P)
	$(E) "	LD $@"
	$(Q) $(CC) $(ALL_LDFLAGS) -o chattr $(CHATTR_OBJS) $(LIBS_E2P) \
		$(LIBINTL) $(SYSLIBS)

chattr.static: $(CHATTR_OBJS) $(STATIC_LIBE2P) $(STATIC_LIBCOM_ERR)
	$(E) "	LD $@"
	$(Q) $(CC) $(ALL_LDFLAGS) -o chattr.static $(CHATTR_OBJS) $(STATIC_LIBE2P) \
		$(STATIC_LIBCOM_ERR) $(LIBINTL) $(SYSLIBS)

lsattr: $(LSATTR_OBJS) $(DEPLIBS_E2P)
	$(E) "	LD $@"
	$(Q) $(CC) $(ALL_LDFLAGS) -o lsattr $(LSATTR_OBJS) $(LIBS_E2P) \
		$(LIBINTL) $(SYSLIBS)

lsattr.static: $(LSATTR_OBJS) $(STATIC_LIBE2P) $(STATIC_LIBCOM_ERR)
	$(E) "	LD $@"
	$(Q) $(CC) $(ALL_LDFLAGS) -o lsattr.static $(LSATTR_OBJS) $(STATIC_LIBE2P) \
		$(STATIC_LIBCOM_ERR) $(LIBINTL) $(SYSLIBS)

uuidgen: $(UUIDGEN_OBJS) $(DEPLIBUUID)
	$(E) "	LD $@"
	$(Q) $(CC) $(ALL_LDFLAGS) -o uuidgen $(UUIDGEN_OBJS) $(LIBUUID) \
		$(LIBINTL) $(SYSLIBS)

uuidgen.profiled: $(UUIDGEN_OBJS) $(PROFILED_DEPLIBUUID)
	$(E) "	LD $@"
	$(Q) $(CC) $(ALL_LDFLAGS) -g -pg -o uuidgen.profiled \
		$(PROFILED_UUIDGEN_OBJS) $(PROFILED_LIBUUID) $(LIBINTL) \
		$(SYSLIBS)

uuidd: $(UUIDD_OBJS) $(DEPLIBUUID)
	$(E) "	LD $@"
	$(Q) $(CC) $(ALL_LDFLAGS) -o uuidd $(UUIDD_OBJS) $(LIBUUID) \
		$(LIBINTL) $(SYSLIBS)

uuidd.profiled: $(UUIDD_OBJS) $(PROFILED_DEPLIBUUID)
	$(E) "	LD $@"
	$(Q) $(CC) $(ALL_LDFLAGS) -g -pg -o uuidd.profiled $(PROFILED_UUIDD_OBJS) \
		$(PROFILED_LIBUUID) $(LIBINTL) $(SYSLIBS)

dumpe2fs: $(DUMPE2FS_OBJS) $(DEPLIBS) $(DEPLIBS_E2P) $(DEPLIBUUID) $(DEPLIBBLKID)
	$(E) "	LD $@"
	$(Q) $(CC) $(ALL_LDFLAGS) -o dumpe2fs $(DUMPE2FS_OBJS) $(LIBS) \
		$(LIBS_E2P) $(LIBUUID) $(LIBINTL) $(SYSLIBS) $(LIBBLKID) \
		$(LIBMAGIC)

dumpe2fs.profiled: $(DUMPE2FS_OBJS) $(PROFILED_DEPLIBS) \
		$(PROFILED_LIBE2P) $(PROFILED_DEPLIBUUID) $(PROFILED_DEPLIBBLKID)
	$(E) "	LD $@"
	$(Q) $(CC) $(ALL_LDFLAGS) -g -pg -o dumpe2fs.profiled \
		$(PROFILED_DUMPE2FS_OBJS) $(PROFILED_LIBS) \
		$(PROFILED_LIBE2P) $(PROFILED_LIBUUID) $(LIBINTL) $(SYSLIBS) \
		$(PROFILED_LIBBLKID) $(LIBMAGIC)

dumpe2fs.static: $(DUMPE2FS_OBJS) $(DEPLIBS) $(DEPLIBS_E2P) $(DEPLIBUUID) $(DEPLIBBLKID)
	$(E) "	LD $@"
	$(Q) $(CC) $(LDFLAGS_STATIC) -o dumpe2fs.static $(DUMPE2FS_OBJS) \
		$(STATIC_LIBS) $(STATIC_LIBE2P) $(STATIC_LIBUUID) \
		$(LIBINTL) $(SYSLIBS) $(STATIC_LIBBLKID) $(LIBMAGIC)

fsck: $(FSCK_OBJS) $(DEPLIBBLKID)
	$(E) "	LD $@"
	$(Q) $(CC) $(ALL_LDFLAGS) -o fsck $(FSCK_OBJS) $(LIBBLKID) \
		$(LIBINTL) $(SYSLIBS)

fsck.profiled: $(FSCK_OBJS) $(PROFILED_DEPLIBBLKID)
	$(E) "	LD $@"
	$(Q) $(CC) $(ALL_LDFLAGS) -g -pg -o fsck.profiled $(PROFILED_FSCK_OBJS) \
		$(PROFILED_LIBBLKID) $(LIBINTL) $(SYSLIBS)

badblocks: $(BADBLOCKS_OBJS) $(DEPLIBS)
	$(E) "	LD $@"
	$(Q) $(CC) $(ALL_LDFLAGS) -o badblocks $(BADBLOCKS_OBJS) $(LIBS) \
		$(LIBINTL) $(SYSLIBS)

badblocks.profiled: $(BADBLOCKS_OBJS) $(PROFILED_DEPLIBS)
	$(E) "	LD $@"
	$(Q) $(CC) $(ALL_LDFLAGS) -g -pg -o badblocks.profiled \
		$(PROFILED_BADBLOCKS_OBJS) $(PROFILED_LIBS) $(LIBINTL) \
		$(SYSLIBS)

logsave: logsave.o
	$(E) "	LD $@"
	$(Q) $(CC) $(ALL_LDFLAGS) -o logsave logsave.o $(SYSLIBS)

logsave.profiled: logsave.o
	$(E) "	LD $@"
	$(Q) $(CC) $(ALL_LDFLAGS) -g -pg -o logsave.profiled \
		profiled/logsave.o $(SYSLIBS)

e2freefrag: $(E2FREEFRAG_OBJS)
	$(E) "	LD $@"
	$(Q) $(CC) $(ALL_LDFLAGS) -o e2freefrag $(E2FREEFRAG_OBJS) \
		$(LIBS) $(SYSLIBS)

e2freefrag.profiled: $(E2FREEFRAG_OBJS) $(PROFILED_DEPLIBS)
	$(E) "	LD $@"
	$(Q) $(CC) $(ALL_LDFLAGS) -g -pg -o e2freefrag.profiled \
		$(PROFILED_E2FREEFRAG_OBJS) $(PROFILED_LIBS) $(SYSLIBS)

e2fuzz: $(E2FUZZ_OBJS) $(DEPLIBS) $(DEPLIBBLKID) $(DEPLIBUUID) \
		$(LIBEXT2FS)
	$(E) "	LD $@"
	$(Q) $(CC) $(ALL_LDFLAGS) -o e2fuzz $(E2FUZZ_OBJS) $(LIBS) \
		$(LIBBLKID) $(LIBUUID) $(LIBEXT2FS) $(SYSLIBS)

check_fuzzer: check_fuzzer.o $(DEPLIBS)
	$(E) "	LD $@"
	$(Q) $(CC) $(ALL_LDFLAGS) -o check_fuzzer check_fuzzer.o $(LIBS)

filefrag: $(FILEFRAG_OBJS)
	$(E) "	LD $@"
	$(Q) $(CC) $(ALL_LDFLAGS) -o filefrag $(FILEFRAG_OBJS) $(SYSLIBS)

filefrag.profiled: $(FILEFRAG_OBJS)
	$(E) "	LD $@"
	$(Q) $(CC) $(ALL_LDFLAGS) -g -pg -o filefrag.profiled \
		$(PROFILED_FILEFRAG_OBJS) 

fuse2fs: $(FUSE2FS_OBJS) $(DEPLIBS) $(DEPLIBBLKID) $(DEPLIBUUID) \
		$(LIBEXT2FS)
	$(E) "	LD $@"
	$(Q) $(CC) $(ALL_LDFLAGS) -o fuse2fs $(FUSE2FS_OBJS) $(LIBS) \
		$(LIBFUSE) $(LIBBLKID) $(LIBUUID) $(LIBEXT2FS) $(LIBINTL) \
		$(CLOCK_GETTIME_LIB) $(SYSLIBS)

journal.o: $(srcdir)/../debugfs/journal.c
	$(E) "	CC $<"
	$(Q) $(CC) -c $(JOURNAL_CFLAGS) -I$(srcdir) \
		$(srcdir)/../debugfs/journal.c -o $@
@PROFILE_CMT@	$(Q) $(CC) $(JOURNAL_CFLAGS) -g -pg -o profiled/$*.o -c $<

recovery.o: $(srcdir)/../e2fsck/recovery.c
	$(E) "	CC $<"
	$(Q) $(CC) -c $(JOURNAL_CFLAGS) -I$(srcdir) \
		$(srcdir)/../e2fsck/recovery.c -o $@
@PROFILE_CMT@	$(Q) $(CC) $(JOURNAL_CFLAGS) -g -pg -o profiled/$*.o -c $<

revoke.o: $(srcdir)/../e2fsck/revoke.c
	$(E) "	CC $<"
	$(Q) $(CC) -c $(JOURNAL_CFLAGS) -I$(srcdir) \
		$(srcdir)/../e2fsck/revoke.c -o $@
@PROFILE_CMT@	$(Q) $(CC) $(JOURNAL_CFLAGS) -g -pg -o profiled/$*.o -c $<

tst_ismounted: $(srcdir)/ismounted.c $(STATIC_LIBEXT2FS) $(DEPLIBCOM_ERR)
	$(E) "	LD $@"
	$(CC) -o tst_ismounted $(srcdir)/ismounted.c -DDEBUG $(ALL_CFLAGS) \
		$(LIBCOM_ERR) $(SYSLIBS)
@PROFILE_CMT@	$(Q) $(CC) $(ALL_CFLAGS) -g -pg -o profiled/$*.o -c $<

tune2fs.8: $(DEP_SUBSTITUTE) $(srcdir)/tune2fs.8.in
	$(E) "	SUBST $@"
	$(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/tune2fs.8.in tune2fs.8

mklost+found.8: $(DEP_SUBSTITUTE) $(srcdir)/mklost+found.8.in
	$(E) "	SUBST $@"
	$(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/mklost+found.8.in mklost+found.8

mke2fs.8: $(DEP_SUBSTITUTE) $(srcdir)/mke2fs.8.in
	$(E) "	SUBST $@"
	$(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/mke2fs.8.in mke2fs.8

mke2fs.conf.5: $(DEP_SUBSTITUTE) $(srcdir)/mke2fs.conf.5.in
	$(E) "	SUBST $@"
	$(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/mke2fs.conf.5.in mke2fs.conf.5

ext4.5: $(DEP_SUBSTITUTE) $(srcdir)/ext4.5.in
	$(E) "	SUBST $@"
	$(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/$@.in $@

e2label.8: $(DEP_SUBSTITUTE) $(srcdir)/e2label.8.in
	$(E) "	SUBST $@"
	$(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/e2label.8.in e2label.8

e2undo.8: $(DEP_SUBSTITUTE) $(srcdir)/e2undo.8.in
	$(E) "	SUBST $@"
	$(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/e2undo.8.in e2undo.8

findfs.8: $(DEP_SUBSTITUTE) $(srcdir)/findfs.8.in
	$(E) "	SUBST $@"
	$(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/findfs.8.in findfs.8

e2image.8: $(DEP_SUBSTITUTE) $(srcdir)/e2image.8.in
	$(E) "	SUBST $@"
	$(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/e2image.8.in e2image.8

e4defrag.8: $(DEP_SUBSTITUTE) $(srcdir)/e4defrag.8.in
	$(E) "	SUBST $@"
	$(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/e4defrag.8.in e4defrag.8

e4crypt.8: $(DEP_SUBSTITUTE) $(srcdir)/e4crypt.8.in
	$(E) "	SUBST $@"
	$(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/e4crypt.8.in e4crypt.8

dumpe2fs.8: $(DEP_SUBSTITUTE) $(srcdir)/dumpe2fs.8.in 
	$(E) "	SUBST $@"
	$(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/dumpe2fs.8.in dumpe2fs.8

e2mmpstatus.8: $(DEP_SUBSTITUTE) $(srcdir)/e2mmpstatus.8.in
	$(E) "	SUBST $@"
	$(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/e2mmpstatus.8.in e2mmpstatus.8

badblocks.8: $(DEP_SUBSTITUTE) $(srcdir)/badblocks.8.in
	$(E) "	SUBST $@"
	$(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/badblocks.8.in badblocks.8	

fsck.8: $(DEP_SUBSTITUTE) $(srcdir)/fsck.8.in
	$(E) "	SUBST $@"
	$(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/fsck.8.in fsck.8 

blkid.8: $(DEP_SUBSTITUTE) $(srcdir)/blkid.8.in
	$(E) "	SUBST $@"
	$(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/blkid.8.in blkid.8

logsave.8: $(DEP_SUBSTITUTE) $(srcdir)/logsave.8.in
	$(E) "	SUBST $@"
	$(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/logsave.8.in logsave.8

uuidd.8: $(DEP_SUBSTITUTE) $(srcdir)/uuidd.8.in
	$(E) "	SUBST $@"
	$(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/uuidd.8.in uuidd.8

chattr.1: $(DEP_SUBSTITUTE) $(srcdir)/chattr.1.in
	$(E) "	SUBST $@"
	$(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/chattr.1.in chattr.1 

fuse2fs.1: $(DEP_SUBSTITUTE) $(srcdir)/fuse2fs.1.in
	$(E) "	SUBST $@"
	$(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/fuse2fs.1.in fuse2fs.1

lsattr.1: $(DEP_SUBSTITUTE) $(srcdir)/lsattr.1.in 
	$(E) "	SUBST $@"
	$(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/lsattr.1.in lsattr.1 

uuidgen.1: $(DEP_SUBSTITUTE) $(srcdir)/uuidgen.1.in 
	$(E) "	SUBST $@"
	$(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/uuidgen.1.in uuidgen.1 

blkid.1: $(DEP_SUBSTITUTE) $(srcdir)/blkid.1.in 
	$(E) "	SUBST $@"
	$(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/blkid.1.in blkid.1 

e2freefrag.8: $(DEP_SUBSTITUTE) $(srcdir)/e2freefrag.8.in
	$(E) "	SUBST $@"
	@$(SUBSTITUTE_UPTIME) $(srcdir)/e2freefrag.8.in e2freefrag.8

filefrag.8: $(DEP_SUBSTITUTE) $(srcdir)/filefrag.8.in
	$(E) "	SUBST $@"
	$(Q) $(SUBSTITUTE_UPTIME) $(srcdir)/filefrag.8.in filefrag.8

installdirs:
	$(E) "	MKDIR_P $(sbindir) $(root_sbindir) $(bindir) $(man1dir) $(man8dir) $(libdir) $(root_sysconfdir)"
	$(Q) $(MKDIR_P) $(DESTDIR)$(sbindir) \
		$(DESTDIR)$(root_sbindir) $(DESTDIR)$(bindir) \
		$(DESTDIR)$(man1dir) $(DESTDIR)$(man8dir) \
		$(DESTDIR)$(man1dir) $(DESTDIR)$(man5dir) \
		$(DESTDIR)$(libdir) $(DESTDIR)/$(root_sysconfdir)

install: all $(SMANPAGES) $(UMANPAGES) installdirs
	$(Q) for i in $(SPROGS); do \
		$(ES) "	INSTALL $(root_sbindir)/$$i"; \
		$(INSTALL_PROGRAM) $$i $(DESTDIR)$(root_sbindir)/$$i; \
	done
	$(Q) for i in $(USPROGS); do \
		$(ES) "	INSTALL $(sbindir)/$$i"; \
		$(INSTALL_PROGRAM) $$i $(DESTDIR)$(sbindir)/$$i; \
	done
	$(Q) for i in ext2 ext3 ext4; do \
		$(ES) "	LINK $(root_sbindir)/mkfs.$$i"; \
		(cd $(DESTDIR)$(root_sbindir); \
			$(LN) $(LINK_INSTALL_FLAGS) mke2fs mkfs.$$i); \
	done
	$(Q) (cd $(DESTDIR)$(root_sbindir); \
		$(LN) $(LINK_INSTALL_FLAGS) dumpe2fs e2mmpstatus)
	$(Q) (cd $(DESTDIR)$(root_sbindir); \
		$(LN) $(LINK_INSTALL_FLAGS) tune2fs e2label)
	$(Q) if test -n "$(FINDFS_LINK)"; then \
		$(ES) "	LINK $(root_sbindir)/findfs"; \
		(cd $(DESTDIR)$(root_sbindir); \
		$(LN) $(LINK_INSTALL_FLAGS) tune2fs $(FINDFS_LINK)); \
	fi
	$(Q) for i in $(UPROGS); do \
		$(ES) "	INSTALL $(bindir)/$$i"; \
		$(INSTALL_PROGRAM) $$i $(DESTDIR)$(bindir)/$$i; \
	done
	$(Q) for i in $(LPROGS); do \
		$(ES) "	INSTALL $(libdir)/$$i"; \
		$(INSTALL_PROGRAM) $$i $(DESTDIR)$(libdir)/$$i; \
	done
	$(Q) for i in $(SMANPAGES); do \
		for j in $(COMPRESS_EXT); do \
			$(RM) -f $(DESTDIR)$(man8dir)/$$i.$$j; \
		done; \
		$(ES) "	INSTALL_DATA $(man8dir)/$$i"; \
		$(INSTALL_DATA) $$i $(DESTDIR)$(man8dir)/$$i; \
	done
	$(Q) $(RM) -f $(DESTDIR)$(man8dir)/mkfs.ext2.8.gz \
		$(DESTDIR)$(man8dir)/mkfs.ext3.8.gz
	$(Q) for i in ext2 ext3 ext4; do \
		$(ES) "	LINK mkfs.$$i.8"; \
		(cd $(DESTDIR)$(man8dir); \
			$(LN) $(LINK_INSTALL_FLAGS) mke2fs.8 mkfs.$$i.8); \
	done
	$(Q) for i in $(UMANPAGES); do \
		for j in $(COMPRESS_EXT); do \
			$(RM) -f $(DESTDIR)$(man1dir)/$$i.$$j; \
		done; \
		$(ES) "	INSTALL_DATA $(man1dir)/$$i"; \
		$(INSTALL_DATA) $$i $(DESTDIR)$(man1dir)/$$i; \
	done
	$(Q) for i in $(FMANPAGES); do \
		for j in $(COMPRESS_EXT); do \
			$(RM) -f $(DESTDIR)$(man5dir)/$$i.$$j; \
		done; \
		$(ES) "	INSTALL_DATA $(man5dir)/$$i"; \
		$(INSTALL_DATA) $$i $(DESTDIR)$(man5dir)/$$i; \
	done
	$(Q) for i in ext2 ext3; do \
		$(ES) "	LINK $$i.5"; \
		(cd $(DESTDIR)$(man5dir); \
			$(LN) $(LINK_INSTALL_FLAGS) ext4.5 $$i.5); \
	done
	$(Q) if test -f $(DESTDIR)$(root_sysconfdir)/mke2fs.conf; then \
		if cmp -s $(DESTDIR)$(root_sysconfdir)/mke2fs.conf \
			mke2fs.conf; then \
			true; \
		else \
			if grep -q ext4dev $(DESTDIR)$(root_sysconfdir)/mke2fs.conf ; then \
				$(ES) "	INSTALL_DATA $(root_sysconfdir)/mke2fs.conf.e2fsprogs-new"; \
				$(INSTALL_DATA) mke2fs.conf \
					$(DESTDIR)$(root_sysconfdir)/mke2fs.conf.e2fsprogs-new; \
				echo "Warning: installing mke2fs.conf in $(DESTDIR)$(root_sysconfdir)/mke2fs.conf.e2fsprogs-new"; \
				echo "Check to see if you need to update your $(root_sysconfdir)/mke2fs.conf"; \
			else \
				$(ES) "	INSTALL_DATA $(root_sysconfdir)/mke2fs.conf"; \
				mv $(DESTDIR)$(root_sysconfdir)/mke2fs.conf \
				   $(DESTDIR)$(root_sysconfdir)/mke2fs.conf.e2fsprogs-old; \
				$(INSTALL_DATA) mke2fs.conf \
					$(DESTDIR)$(root_sysconfdir)/mke2fs.conf; \
				echo "Your mke2fs.conf is too old.  Backing up old version in"; \
				echo "$(DESTDIR)$(root_sysconfdir)/mke2fs.conf.e2fsprogs-old.  Please check to see"; \
				echo "if you have any local customizations that you wish to preserve."; \
			fi; \
			echo " "; \
		fi; \
	else \
		$(ES) "	INSTALL_DATA $(root_sysconfdir)/mke2fs.conf"; \
		$(INSTALL_DATA) mke2fs.conf \
			$(DESTDIR)$(root_sysconfdir)/mke2fs.conf; \
	fi

install-strip: install
	$(Q) for i in $(SPROGS); do \
		$(E) "	STRIP $(root_sbindir)/$$i"; \
		$(STRIP) $(DESTDIR)$(root_sbindir)/$$i; \
	done
	$(Q) for i in $(USPROGS); do \
		$(E) "	STRIP $(sbindir)/$$i"; \
		$(STRIP) $(DESTDIR)$(sbindir)/$$i; \
	done

uninstall:
	for i in $(SPROGS); do \
		$(RM) -f $(DESTDIR)$(root_sbindir)/$$i; \
	done
	for i in $(USPROGS); do \
		$(RM) -f $(DESTDIR)$(sbindir)/$$i; \
	done
	for i in $(LPROGS); do \
		$(RM) -f $(DESTDIR)$(libdir)/$$i; \
	done
	$(RM) -f $(DESTDIR)$(root_sbindir)/mkfs.ext2 \
			$(DESTDIR)$(root_sbindir)/mkfs.ext3 \
			$(DESTDIR)$(root_sbindir)/mkfs.ext4
	for i in $(UPROGS); do \
		$(RM) -f $(DESTDIR)$(bindir)/$$i; \
	done
	for i in $(SMANPAGES); do \
		$(RM) -f $(DESTDIR)$(man8dir)/$$i; \
	done
	$(RM) -f $(DESTDIR)$(man8dir)/mkfs.ext2.8 \
		$(DESTDIR)$(man8dir)/mkfs.ext3.8 \
		$(DESTDIR)$(man8dir)/mkfs.ext4.8 \
		$(DESTDIR)$(man8dir)/fsck.ext2.8 \
		$(DESTDIR)$(man8dir)/fsck.ext3.8 \
		$(DESTDIR)$(man8dir)/fsck.ext4.8

	for i in $(UMANPAGES); do \
		$(RM) -f $(DESTDIR)$(man1dir)/$$i; \
	done
	for i in $(FINDFS_LINK) e2label e2mmpstatus ; do \
		$(RM) -f $(DESTDIR)$(root_sbindir)/$$i; \
	done
	for i in $(FMANPAGES); do \
		$(RM) -f $(DESTDIR)$(man5dir)/$$i; \
	done
	$(Q) for i in ext2 ext3; do \
		$(ES) "	LINK $$i.5"; \
		$(RM) -f $(DESTDIR)$(man5dir)/$$i.5; \
	done
	if cmp -s mke2fs.conf $(DESTDIR)/$(root_sysconfdir)/mke2fs.conf; then \
		$(RM) $(DESTDIR)/$(root_sysconfdir)/mke2fs.conf; \
	fi

clean::
	$(RM) -f $(SPROGS) $(USPROGS) $(UPROGS) $(UMANPAGES) $(SMANPAGES) \
		$(FMANPAGES) profile.h \
		base_device base_device.out mke2fs.static filefrag e2freefrag \
		e2initrd_helper partinfo prof_err.[ch] default_profile.c \
		uuidd e2image tune2fs.static tst_ismounted fsck.profiled \
		blkid.profiled tune2fs.profiled e2image.profiled \
		e2undo.profiled mke2fs.profiled dumpe2fs.profiled \
		dumpe2fs.static e2image.static \
		logsave.profiled filefrag.profiled uuidgen.profiled \
		uuidd.profiled e2image.profiled e2fuzz mke2fs.conf \
		profiled/*.o \#* *.s *.o *.a *~ core gmon.out

mostlyclean: clean
distclean: clean
	$(RM) -f .depend Makefile $(srcdir)/TAGS $(srcdir)/Makefile.in.old

# +++ Dependency line eater +++
# 
# Makefile dependencies follow.  This must be the last section in
# the Makefile.in file
#
tune2fs.o: $(srcdir)/tune2fs.c $(top_builddir)/lib/config.h \
 $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \
 $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/ext2fs/ext2fs.h \
 $(top_srcdir)/lib/ext2fs/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \
 $(top_srcdir)/lib/ext2fs/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
 $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/hashmap.h \
 $(top_srcdir)/lib/ext2fs/bitops.h $(top_srcdir)/lib/ext2fs/kernel-jbd.h \
 $(top_srcdir)/lib/ext2fs/jfs_compat.h $(top_srcdir)/lib/ext2fs/kernel-list.h \
 $(top_srcdir)/lib/ext2fs/compiler.h $(top_srcdir)/lib/support/plausible.h \
 $(top_srcdir)/lib/support/quotaio.h $(top_srcdir)/lib/support/dqblk_v2.h \
 $(top_srcdir)/lib/support/quotaio_tree.h $(top_srcdir)/lib/e2p/e2p.h \
 $(srcdir)/util.h $(top_srcdir)/version.h \
 $(top_srcdir)/lib/support/nls-enable.h
mklost+found.o: $(srcdir)/mklost+found.c $(top_builddir)/lib/config.h \
 $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \
 $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/version.h \
 $(top_srcdir)/lib/support/nls-enable.h
mke2fs.o: $(srcdir)/mke2fs.c $(top_builddir)/lib/config.h \
 $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \
 $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/ext2fs/ext2fsP.h \
 $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/ext2fs/ext3_extents.h \
 $(top_srcdir)/lib/et/com_err.h $(top_srcdir)/lib/ext2fs/ext2_io.h \
 $(top_builddir)/lib/ext2fs/ext2_err.h \
 $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/hashmap.h \
 $(top_srcdir)/lib/ext2fs/bitops.h $(srcdir)/util.h \
 $(top_srcdir)/lib/support/nls-enable.h $(top_srcdir)/lib/support/plausible.h \
 $(top_srcdir)/lib/support/profile.h $(top_builddir)/lib/support/prof_err.h \
 $(top_srcdir)/version.h $(top_srcdir)/lib/support/quotaio.h \
 $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/support/dqblk_v2.h \
 $(top_srcdir)/lib/support/quotaio_tree.h $(srcdir)/mke2fs.h \
 $(srcdir)/create_inode.h $(top_srcdir)/lib/e2p/e2p.h
mk_hugefiles.o: $(srcdir)/mk_hugefiles.c $(top_builddir)/lib/config.h \
 $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \
 $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/ext2fs/ext2fsP.h \
 $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/ext2fs/ext3_extents.h \
 $(top_srcdir)/lib/et/com_err.h $(top_srcdir)/lib/ext2fs/ext2_io.h \
 $(top_builddir)/lib/ext2fs/ext2_err.h \
 $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/hashmap.h \
 $(top_srcdir)/lib/ext2fs/bitops.h $(top_srcdir)/lib/e2p/e2p.h \
 $(top_srcdir)/lib/ext2fs/ext2fs.h $(srcdir)/util.h \
 $(top_srcdir)/lib/support/profile.h $(top_builddir)/lib/support/prof_err.h \
 $(top_srcdir)/lib/support/nls-enable.h $(srcdir)/mke2fs.h
chattr.o: $(srcdir)/chattr.c $(top_builddir)/lib/config.h \
 $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \
 $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/et/com_err.h \
 $(top_srcdir)/lib/e2p/e2p.h $(top_srcdir)/lib/support/nls-enable.h \
 $(top_srcdir)/version.h
lsattr.o: $(srcdir)/lsattr.c $(top_builddir)/lib/config.h \
 $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \
 $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/et/com_err.h \
 $(top_srcdir)/lib/e2p/e2p.h $(top_srcdir)/lib/support/nls-enable.h \
 $(top_srcdir)/version.h
dumpe2fs.o: $(srcdir)/dumpe2fs.c $(top_builddir)/lib/config.h \
 $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \
 $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/ext2fs/ext2fs.h \
 $(top_srcdir)/lib/ext2fs/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \
 $(top_srcdir)/lib/ext2fs/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
 $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/hashmap.h \
 $(top_srcdir)/lib/ext2fs/bitops.h $(top_srcdir)/lib/e2p/e2p.h \
 $(top_srcdir)/lib/ext2fs/kernel-jbd.h $(top_srcdir)/lib/ext2fs/jfs_compat.h \
 $(top_srcdir)/lib/ext2fs/kernel-list.h $(top_srcdir)/lib/ext2fs/compiler.h \
 $(top_srcdir)/lib/support/nls-enable.h $(top_srcdir)/lib/support/plausible.h \
 $(top_srcdir)/version.h
badblocks.o: $(srcdir)/badblocks.c $(top_builddir)/lib/config.h \
 $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/et/com_err.h \
 $(top_srcdir)/lib/ext2fs/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_types.h \
 $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_srcdir)/lib/ext2fs/ext2fs.h \
 $(top_srcdir)/lib/ext2fs/ext3_extents.h \
 $(top_builddir)/lib/ext2fs/ext2_err.h \
 $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/hashmap.h \
 $(top_srcdir)/lib/ext2fs/bitops.h $(top_srcdir)/lib/support/nls-enable.h
fsck.o: $(srcdir)/fsck.c $(top_builddir)/lib/config.h \
 $(top_builddir)/lib/dirpaths.h $(top_srcdir)/version.h \
 $(top_srcdir)/lib/support/nls-enable.h $(srcdir)/fsck.h
util.o: $(srcdir)/util.c $(top_builddir)/lib/config.h \
 $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/et/com_err.h \
 $(top_srcdir)/lib/e2p/e2p.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \
 $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/ext2fs/ext2fs.h \
 $(top_srcdir)/lib/ext2fs/ext3_extents.h $(top_srcdir)/lib/ext2fs/ext2_io.h \
 $(top_builddir)/lib/ext2fs/ext2_err.h \
 $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/hashmap.h \
 $(top_srcdir)/lib/ext2fs/bitops.h $(top_srcdir)/lib/support/nls-enable.h \
 $(srcdir)/util.h
uuidgen.o: $(srcdir)/uuidgen.c $(top_builddir)/lib/config.h \
 $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/support/nls-enable.h
blkid.o: $(srcdir)/blkid.c $(top_builddir)/lib/config.h \
 $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/ext2fs/ext2fs.h \
 $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \
 $(top_srcdir)/lib/ext2fs/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \
 $(top_srcdir)/lib/ext2fs/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
 $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/hashmap.h \
 $(top_srcdir)/lib/ext2fs/bitops.h
logsave.o: $(srcdir)/logsave.c $(top_builddir)/lib/config.h \
 $(top_builddir)/lib/dirpaths.h
filefrag.o: $(srcdir)/filefrag.c $(top_builddir)/lib/config.h \
 $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/ext2fs/ext2fs.h \
 $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \
 $(top_srcdir)/lib/ext2fs/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \
 $(top_srcdir)/lib/ext2fs/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
 $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/hashmap.h \
 $(top_srcdir)/lib/ext2fs/bitops.h $(top_srcdir)/lib/ext2fs/fiemap.h \
 $(top_srcdir)/version.h
base_device.o: $(srcdir)/base_device.c $(top_builddir)/lib/config.h \
 $(top_builddir)/lib/dirpaths.h $(srcdir)/fsck.h
ismounted.o: $(srcdir)/ismounted.c $(top_builddir)/lib/config.h \
 $(top_builddir)/lib/dirpaths.h $(srcdir)/fsck.h \
 $(top_srcdir)/lib/et/com_err.h
e2undo.o: $(srcdir)/e2undo.c $(top_builddir)/lib/config.h \
 $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/ext2fs/ext2fs.h \
 $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \
 $(top_srcdir)/lib/ext2fs/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \
 $(top_srcdir)/lib/ext2fs/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
 $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/hashmap.h \
 $(top_srcdir)/lib/ext2fs/bitops.h $(top_srcdir)/lib/support/nls-enable.h
e2freefrag.o: $(srcdir)/e2freefrag.c $(top_builddir)/lib/config.h \
 $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \
 $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/ext2fs/ext2fs.h \
 $(top_srcdir)/lib/ext2fs/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \
 $(top_srcdir)/lib/ext2fs/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
 $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/hashmap.h \
 $(top_srcdir)/lib/ext2fs/bitops.h $(srcdir)/e2freefrag.h $(srcdir)/fsmap.h
create_inode.o: $(srcdir)/create_inode.c $(top_builddir)/lib/config.h \
 $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/ext2fs/ext2fs.h \
 $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \
 $(top_srcdir)/lib/ext2fs/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \
 $(top_srcdir)/lib/ext2fs/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
 $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/hashmap.h \
 $(top_srcdir)/lib/ext2fs/bitops.h $(top_srcdir)/lib/ext2fs/fiemap.h \
 $(srcdir)/create_inode.h $(top_srcdir)/lib/e2p/e2p.h \
 $(top_srcdir)/lib/support/nls-enable.h
fuse2fs.o: $(srcdir)/fuse2fs.c $(top_builddir)/lib/config.h \
 $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/ext2fs/ext2fs.h \
 $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \
 $(top_srcdir)/lib/ext2fs/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \
 $(top_srcdir)/lib/ext2fs/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
 $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/hashmap.h \
 $(top_srcdir)/lib/ext2fs/bitops.h $(top_srcdir)/version.h
e2fuzz.o: $(srcdir)/e2fuzz.c $(top_builddir)/lib/config.h \
 $(top_builddir)/lib/dirpaths.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \
 $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/ext2fs/ext2fs.h \
 $(top_srcdir)/lib/ext2fs/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \
 $(top_srcdir)/lib/ext2fs/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
 $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/hashmap.h \
 $(top_srcdir)/lib/ext2fs/bitops.h
check_fuzzer.o: $(srcdir)/check_fuzzer.c $(top_srcdir)/lib/ext2fs/ext2_fs.h \
 $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/ext2fs/ext2fs.h \
 $(top_srcdir)/lib/ext2fs/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \
 $(top_srcdir)/lib/ext2fs/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
 $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/hashmap.h \
 $(top_srcdir)/lib/ext2fs/bitops.h
journal.o: $(srcdir)/../debugfs/journal.c $(top_builddir)/lib/config.h \
 $(top_builddir)/lib/dirpaths.h $(srcdir)/../debugfs/journal.h \
 $(top_srcdir)/e2fsck/jfs_user.h $(top_srcdir)/e2fsck/e2fsck.h \
 $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h \
 $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/ext2fs/ext3_extents.h \
 $(top_srcdir)/lib/et/com_err.h $(top_srcdir)/lib/ext2fs/ext2_io.h \
 $(top_builddir)/lib/ext2fs/ext2_err.h \
 $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/hashmap.h \
 $(top_srcdir)/lib/ext2fs/bitops.h $(top_srcdir)/lib/support/profile.h \
 $(top_builddir)/lib/support/prof_err.h $(top_srcdir)/lib/support/quotaio.h \
 $(top_srcdir)/lib/support/dqblk_v2.h \
 $(top_srcdir)/lib/support/quotaio_tree.h \
 $(top_srcdir)/lib/ext2fs/fast_commit.h $(top_srcdir)/lib/ext2fs/jfs_compat.h \
 $(top_srcdir)/lib/ext2fs/kernel-list.h $(top_srcdir)/lib/ext2fs/compiler.h \
 $(top_srcdir)/lib/ext2fs/kernel-jbd.h
revoke.o: $(srcdir)/../e2fsck/revoke.c $(srcdir)/../e2fsck/jfs_user.h \
 $(top_builddir)/lib/config.h $(top_builddir)/lib/dirpaths.h \
 $(srcdir)/../e2fsck/e2fsck.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \
 $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/ext2fs/ext2fs.h \
 $(top_srcdir)/lib/ext2fs/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \
 $(top_srcdir)/lib/ext2fs/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
 $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/hashmap.h \
 $(top_srcdir)/lib/ext2fs/bitops.h $(top_srcdir)/lib/support/profile.h \
 $(top_builddir)/lib/support/prof_err.h $(top_srcdir)/lib/support/quotaio.h \
 $(top_srcdir)/lib/support/dqblk_v2.h \
 $(top_srcdir)/lib/support/quotaio_tree.h \
 $(top_srcdir)/lib/ext2fs/fast_commit.h $(top_srcdir)/lib/ext2fs/jfs_compat.h \
 $(top_srcdir)/lib/ext2fs/kernel-list.h $(top_srcdir)/lib/ext2fs/compiler.h \
 $(top_srcdir)/lib/ext2fs/kernel-jbd.h
recovery.o: $(srcdir)/../e2fsck/recovery.c $(srcdir)/../e2fsck/jfs_user.h \
 $(top_builddir)/lib/config.h $(top_builddir)/lib/dirpaths.h \
 $(srcdir)/../e2fsck/e2fsck.h $(top_srcdir)/lib/ext2fs/ext2_fs.h \
 $(top_builddir)/lib/ext2fs/ext2_types.h $(top_srcdir)/lib/ext2fs/ext2fs.h \
 $(top_srcdir)/lib/ext2fs/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \
 $(top_srcdir)/lib/ext2fs/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
 $(top_srcdir)/lib/ext2fs/ext2_ext_attr.h $(top_srcdir)/lib/ext2fs/hashmap.h \
 $(top_srcdir)/lib/ext2fs/bitops.h $(top_srcdir)/lib/support/profile.h \
 $(top_builddir)/lib/support/prof_err.h $(top_srcdir)/lib/support/quotaio.h \
 $(top_srcdir)/lib/support/dqblk_v2.h \
 $(top_srcdir)/lib/support/quotaio_tree.h \
 $(top_srcdir)/lib/ext2fs/fast_commit.h $(top_srcdir)/lib/ext2fs/jfs_compat.h \
 $(top_srcdir)/lib/ext2fs/kernel-list.h $(top_srcdir)/lib/ext2fs/compiler.h \
 $(top_srcdir)/lib/ext2fs/kernel-jbd.h
